import { createApp } from 'vue'

// 导入 App.vue 组件
import App from './App.vue'

import router from './router'
import ViewUIPlus from 'view-ui-plus'
import 'view-ui-plus/dist/styles/viewuiplus.css'
import store from './store'
import API from './api'


const app = createApp(App)

app.config.globalProperties.$api = API;

// 自定义一个 控制 权限 按钮的指定 v-auth="menu:view:add"
app.directive('auth', {
    mounted(el, binding, vnode, prevVnode) {
        // 获取权限标识符
        let remark = binding.arg ;
        // 从 权限列表中 ，查找 该标识 是否存在
        let authority  = store.state.authorities ;
        // 如果 从权限列表中没有找到对应的权限，则 移除按钮
        if (!authority.some( auth => auth.permission === remark )) {
            el.parentNode.removeChild(el);
        }
    },
});


app.use(router)
    .use(ViewUIPlus)
    .use(store)

app.mount('#app')
